package cn.tedu.oop;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/*本类用于测试代码块*/
public class TestBlock {
    public static void main(String[] args) {
        System.out.println(666);
        Pig p1=new Pig();
        Pig p2=new Pig("中午好");
        Pig p3=new Pig("水果",5);
        p1.eat();

    }

}

class Pig{
    String food;
    int age;

    public Pig (){
        System.out.println("无参构造");
    }
    public Pig (String s){
        System.out.println("含参构造"+s);
    }

    public Pig(String food, int age) {
        this.food = food;
        this.age = age;
        System.out.println("全参构造");
    }

    public void  eat(){
        System.out.println("小猪爱吃菜叶子");
        {
            /*1,位置:方法里
            * 2,执行时机:调用局部代码块所处的方法时才会执行
            * 3,作用:用于控制变量的作用范围,变量的作用范围越小越好
            * */

            System.out.println("我是一个局部代码块");
                                }
    }

    {/*构造代码块:{}
     *1,位置:类里方法外
     *2,执行时机:每次创建对象时 都会执行构造代码块,并且构造代码块优先于构造方法的执行
     *3,作用:用于提取所有构造方法的共性功能
     */
        System.out.println("我是一个构造代码块~");
    }
}